Universal Serial Bus (USB) and Wireless USB (WUSB) are well accepted and widely used standards for computer communication.
USB 2.0 and Wireless USB 1.0 define few endpoint transfer types:                i. Control Transfers        ii. Interrupt Data Transfers        iii. Bulk Data Transfers;        iv. Isochronous Data Transfers        
Control Transfers are used to configure a device at attach time and can be used for other device-specific purposes, including control of other pipes on the device. While similar in nature to bulk data transfers, control transfers are intended and constrained for data which is small and infrequent.
Interrupt Data Transfers are used for timely but reliable delivery of data. WUSB also include low-power interrupt which allows devices to sleep and save power, by allowing for a device to not respond for an extended range of time without declaring an error
Interrupt transfer type is intended to support devices that want a high reliability method to communicate a small amount of data with a bounded over-the-air service interval. The Wireless USB Interrupt transfer type may provide the following:                i. Guaranteed maximum service period.        ii. Guaranteed retries during the service period if delivery failures occur.        
It is noted that there is no equivalent in WUSB to wired USB high bandwidth interrupt endpoints and those are not supported by Wireless USB.
Bulk Data Transfers are generated or consumed in relatively large and burst-like quantities and have wide dynamic latitude in transmission constraints. Bulk data transfers have guaranteed delivery, but no quality of service assurance.
In WUSB, bulk transfer type is intended to support devices that want to communicate relatively large amounts of data at highly variable times where the transfer can use any available wireless USB channel bandwidth. A wireless USB Bulk function endpoint provides the following:                i. Access to the Wireless USB channel on a bandwidth available basis;        ii. Guaranteed delivery of data, but no guarantee of bandwidth or latency.        
Bulk transfers occur only on a bandwidth-available basis. With large amount of channel time and good channel conditions, bulk transfers may happen relatively quickly; for conditions with little channel time available, bulk transfers may take a long time.
A bulk function endpoint has no way to indicate a desired bus access frequency for a bulk pipe. Bulk transactions occur on the Wireless USB channel only on a bandwidth available basis; i.e. if there is wireless USB channel time that is not being used for other purposes, bulk transactions will be moved.
All bulk transfers pending in a system contend for the same available bus time. Because of this, the USB system software at its discretion can vary the bus time made available for bulk transfers to a particular endpoint. An endpoint and its client software cannot assume a specific rate of service for bulk transfers. Bus time made available to a software client and its endpoint can be changed as other devices are inserted into and removed from the system or also as bulk transfers are requested for other function endpoints.
Isochronous Data Transfers occupy a pre-negotiated amount of USB bandwidth with a pre-negotiated delivery latency. This delivers some quality of service (minimal attempts to pass packets each service interval), but no guaranteed delivery (data which becomes obsolete due to channel errors is discarded).
In wireless USB, isochronous transfer type is intended to support streams that want to perform constant rate, error tolerant, periodic transfers with a bounded service interval. The Wireless USB Isochronous transfer type provides the following:                i. Guaranteed bandwidth for transaction attempts on the wireless USB channel with bounded latency;        ii. Guaranteed average constant data rate through the pipe as long as data is provided to the pipe (this guarantee is subject to the reliability of the wireless media. The wireless USB isochronous model allows endpoints to operate with reliability similar to wired USB isochronous endpoints under most conditions);        iii. Guaranteed retries during the service period if delivery failures occur (a minimum of one guaranteed retry per service interval must be provided);        iv. Additional reliability during short term error bursts by adding delay to the stream. The amount of delay that can be added is a function of the buffering provided by the isochronous endpoint.        
In isochronous data transfers data may be discarded by the transmitter under the Wireless USB isochronous protocol. Each isochronous data packet contains an isochronous header that includes a presentation time. Gaps in the presentation time allow the receiver to detect when data has been discarded and how many packets have been discarded. When link conditions degrade for an extended period of time an isochronous transmitter may be required to discard data. The Wireless USB protocol contains mechanisms to provide the receiver with information about the number of discarded packets.
Schedules for a Controller in USB and WUSB Communication:
In EHCI (Enhanced Host Controller Interface Specification) for wired USB (e.g. USB 2.0) and in WHCI (Wireless Host Controller Interface Specification) for wireless USB (e.g. WUSB 1.0), two schedules are defined for the respective controller to schedule air/wire time:                i. A periodic schedule including isochronous and interrupt endpoints, accessed per service interval; and        ii. An asynchronous schedule including bulk and control endpoints, accessed in round-robin best effort manner.        
Bulk offers guaranteed delivery but no quality of service; isochronous offers quality of service but is geared towards real-time streaming thus does not guarantee delivery.
There is a need to enable applications (e.g. compressed video data) that require guaranteed data delivery in addition to some quality of service.
FIG. 1A illustrates a prior art example organization of periodic schedule 10 in wireless USB communication. The periodic schedule 10 includes at least one prior art periodic transmission queue 12, that includes one or more periodic queue sets 14 (also denoted Qset), such as interrupt Qsets and Isochronous Qsets. Conveniently, each of the QSets may include a QHead and one or more qTD (Queue Element Transfer Descriptor) structures, wherein the QHead contains numerous defined elements, including a pointer to the next QHead.
FIG. 1B illustrates prior art example organization of asynchronous schedule 20 in wireless USB communication. The asynchronous schedule 20 includes at least one prior art asynchronous transmission queue 22, that includes one or more periodic queue sets 24 (also denoted Qset), such as Bulk Qsets and Control Qsets. Conveniently, each of the QSets may include a QHead and one or more qTD (Queue Element Transfer Descriptor) structures, wherein the QHead contains numerous defined elements, including a pointer to the next QHead.
FIG. 2 illustrates prior art organization of interface data structure 30 in wireless USB communication. Interface data structure 30 includes, inter alia, various Qsets 34, each of which includes a QHead 36 and one or more queue element transfer descriptors 38.
FIG. 3A is a block diagram of a prior art wireless USB system 60. Prior art wireless USB system 60 includes, inter alia, ultra wide band (UWB) radio controller (URCI) 40 and wireless USB host controller interface (WHCI) 50.
FIG. 3B illustrates prior art general architecture of ultra wide band (UWB) radio controller (URCI) 40 and wireless USB host controller interface (WHCI) 50. Prior art WHCI 50 includes shared memory schedule 52 that handles both periodic schedule 54 and asynchronous schedule 56. It should be noted that shared memory schedule 52 may include both queues of periodic schedule 54 (e.g. one or more prior art periodic transmission queues 12) and queues of asynchronous schedule 56 (e.g. one or more prior art asynchronous transmission queues 22).
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.